草庐IT

TypeScript 模块

全部标签

javascript - 类型保护错误 TS2532 之后, typescript 对象可能未定义

我正在使用Typescript2.3.4、Node.JS8.0.0和Feathers框架(版本2.1.1).我正在制作一条使用服务的快速路线,当我在feathers应用程序上获取单例实例后尝试使用该服务时,Typescript抛出一个错误TS2532:Objectispossibly'undefined'错误,即使在显式类型保护之后。路由.tsimportfeathers=require('feathers');exportdefaultfunction(this:feathers.Application){constapp=this;app.post('/donuts',async(

javascript - 使用 require.js 加载非 amd 模块

目前我正在为一个有趣的副项目使用require.js我正在工作,除了一个名为prism.js的代码语法高亮插件外,一切正常。我可以看到插件正在通过Chrome中的网络选项卡提取,但插件未初始化。我不确定这是需求问题还是插件问题,想知道是否有人可以提供帮助。下面是我的main.js:require.config({//3rdpartyscriptaliasnamespaths:{//CoreLibrariesmodernizr:"libs/modernizr",jquery:"libs/jquery",underscore:"libs/lodash",backbone:"libs/bac

javascript - 声明用于 TypeScript 的 JS 库

类似问题有很多讨论帖,但据我所知,这是独一无二的。我正在使用jQueryAddress我的应用程序中的插件,并希望在TypeScript文件中使用它。不幸的是没有DefinitelyTyped可用于库的脚本。当我尝试使用jQuery.address时,我得到:Theproperty'address'doesnotexistonvalueoftype'jQueryStatic'根据thisthread,我试图在jquery.d.ts中定义address:interfaceJQueryStatic{address(options):any;...}而且我认为这似乎适用于$.address(

javascript - 如何编写可测试的 requirejs 模块

我是单元测试的新手,所以我可能遗漏了一些东西,但我应该如何构建requirejs模块以使它们完全可测试?考虑优雅的显示模块模式。define([],function(){"usestrict";varfunc1=function(){vardata=func2();};varfunc2=function(){returndb.call();};return{func1:func1}});据我所知,这是构建requirejs模块的最常见模式。如果我错了请纠正我!因此,在这个简单的场景中,我可以轻松地测试func1的返回值和行为,因为它是全局的。但是,为了测试func2我还必须返回它的引用

javascript - typescript : check a string for number

我是网络开发的新手,在我的函数中想检查给定的字符串值是否为数字。如果字符串不是有效数字,我想返回null。以下适用于所有情况,除非字符串为“0”,在这种情况下它返回null。parseInt(columnSortSettings[0])||null;如何防止这种情况发生。显然parseInt不会将0视为整数! 最佳答案 因为0是假的,所以你可以使用isNaN()在这种情况下varres=parseInt(columnSortSettings[0],10);returnisNaN(res)?null:res;

javascript - 使用 ES6 模块导出/导入单类方法?

假设我在fileA.js中有一个像这样的简单类:classfoo{constructor(x){this.name=x}fooMethod(x){returnx+'hello';}}我想像这样在fileB.js中导入和使用fooMethod:import{fooMethod}from'./fileA';classbar(){...barMethod(x){returnfooMethod(x);}}如何在fileA中编写export来实现这一点? 最佳答案 您必须在原型(prototype)上导出它。但请记住,如果您这样做,您将不会在

javascript - 无法解决在 typescript/webpack 中找不到模块 'rxjs'

我在将rxjs加载到简单的webpack设置(没有Angular)时遇到了问题。我在跑:./node_modules/.bin/webpack--configwebpack.config.js--watch启动webpack。该应用程序的唯一文件src/app.ts以:开头import{Observable}from'rxjs';并且此行在VSCode和webpack控制台中突出显示并出现此错误:Cannotfindmodule'rxjs'.但整体输出效果很好。只是这个控制台错误。tsconfig.json:{"compilerOptions":{"target":"es2015"},

javascript - 使用 Webpack 时 Typescript 编译器 "cannot find module"需要 CSS/图像 Assets

我正在编写vanillaJavascript,但使用Typescript编译器的checkJs选项在VSCode中进行类型检查。我将Webpack设置为加载各种Assets类型(CSS、图像等),这对于构建工作正常,但代码将这些语句视为错误。例如,在这段代码中require("bootstrap");require("bootstrap/dist/css/bootstrap.css");varimg=require("../img/image.png");第一行很好,但接下来的两行都在require()的(字符串)参数下显示错误,工具提示为“找不到模块(名称)”。我已经安装了@type

javascript - 什么是 "PropTypes.oneOf"的 TypeScript 等效项(将变量限制为值的子集)

在React中,我可以将变量限制为值的子集,例如PropTypes.oneOf(['Home','About']),我如何在TypeScript中执行此操作?PS:我没有在React中使用TypeScript。 最佳答案 您可以通过定义uniontype来组合静态字符串(或任何常规类型):typeSomeType='Home'|'About';或者在一个界面中:interfaceSomeType{prop:'Home'|'About';}当然你也可以组合其他类型:typeSomeType=string|boolean;

javascript - Haste 模块映射中不存在模块计划/跟踪

ReactNative环境信息:System:OS:macOSHighSierra10.13.6CPU:x64Intel(R)Core(TM)i3-7100CPU@3.90GHzMemory:559.26MB/16.00GBShell:3.2.57-/bin/bashBinaries:Node:10.11.0-/usr/local/bin/nodenpm:6.4.1-/usr/local/bin/npmWatchman:4.9.0-/usr/local/bin/watchmanSDKs:iOSSDK:Platforms:iOS12.0,macOS10.14,tvOS12.0,watch